#if !defined(WEBBY_CACHEMODULE_HXX)
#define WEBBY_CACHEMODULE_HXX

#include <webby/module.hxx>

namespace webby
{

	class CacheModule
	{
	public:
		CacheModule();
		virtual ~CacheModule() {}

		// Friendly name of the module
		virtual std::string getModuleName() const { return "Cache Module"; }

		// Called when server has started
		virtual void onStarted() {}

		// Called when the server is shutting down
		virtual void onShutdown() {}

		// Called periodically
		virtual void onHeartbeat() {}
	};

}

extern "C" 
{
	void *webby_create_module();
}

#endif
